
using System;
using System.Collections.Generic;
using System.Text;
using NFinal.Extension;

namespace WebApplication1.DDD.Models.Entity.Common
{
    public struct category_property:NFinal.IModel
    {
		public System.Int64 id;
		public System.String name;
		public System.Int64? channel_id;
		public System.Int64? parent_id;
		public System.Int64? category_id;
		#region Nullable
		private bool __is_null__;
        public bool __Is_Null__
        {
            get {
                return __is_null__;
            }
            set
            {
                 __is_null__=value;
            }
        }
        public static implicit operator category_property(string __value__)
        {
            var __value2__ = new category_property();
            __value2__.__Is_Null__ = __value__==null;
            return __value2__;
        }
        public static  bool operator true(category_property __value__)
        {
            return !__value__.__is_null__;
        }
        public static bool operator false(category_property __value__)
        {
            return !__value__.__is_null__;
        }
		#endregion
		#region 从get列表初始化实体类
		public static bool TryParse(NFinal.NameValueCollection get,out category_property par)
		{
			par=new category_property();
			try
			{
						System.Int64.TryParse(get["id"],out par.id);
						par.name=get["name"];
						par.channel_id=null;
						if(get["channel_id"]!=null)
						{
							par.channel_id=get["channel_id"].AsVar();
						}
						par.parent_id=null;
						if(get["parent_id"]!=null)
						{
							par.parent_id=get["parent_id"].AsVar();
						}
						par.category_id=null;
						if(get["category_id"]!=null)
						{
							par.category_id=get["category_id"].AsVar();
						}
			}
			catch
			{
				return false;
			}
			return true;
		}
		#endregion
		#region 写Json字符串
		public void WriteJson(System.IO.TextWriter tw)
		{
			tw.Write("{");
					tw.Write("\"id\":");
					tw.Write(id.ToString());
					tw.Write(",");
					tw.Write("\"name\":");
					tw.Write("\"");
					tw.Write(name==null?"null":name);
					tw.Write("\"");
					tw.Write(",");
					tw.Write("\"channel_id\":");
					tw.Write(channel_id==null?"null" : channel_id.ToString());
					tw.Write(",");
					tw.Write("\"parent_id\":");
					tw.Write(parent_id==null?"null" : parent_id.ToString());
					tw.Write(",");
					tw.Write("\"category_id\":");
					tw.Write(category_id==null?"null" : category_id.ToString());

			tw.Write("}");
		}
		#endregion
    }
}
